package com.kede.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kede.ienum.zhi.ZhiOrderStatusEnum;
import com.kede.ienum.zhi.ZhiOrderTypeEnum;
import com.kede.typehanlder.zhi.ZhiOrderStatusEnumTypeHanlder;
import com.kede.typehanlder.zhi.ZhiOrderTypeEnumTypeHanlder;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 
 * @TableName sy_zhi_order
 */
@TableName(value ="sy_zhi_order")
@Data
public class ZhiOrderDomain implements Serializable {
    /**
     * 
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 订单编号
     */
    @TableField(value = "order_sn")
    private String orderSn;

    /**
     * 会员id
     */
    @TableField(value = "user_id")
    private Integer userId;

    /**
     * 状态:0=待确认,1=置换中,2=已完成,3=已拒绝
     */
    @TableField(value = "status",typeHandler = ZhiOrderStatusEnumTypeHanlder.class)
    private ZhiOrderStatusEnum status;

    /**
     * 
     */
    @TableField(value = "order_type",typeHandler = ZhiOrderTypeEnumTypeHanlder.class)
    private ZhiOrderTypeEnum orderType;

    /**
     * 支付金额
     */
    @TableField(value = "order_money")
    private BigDecimal orderMoney;

    /**
     * 支付状态1支付成功0未支付
     */
    @TableField(value = "pay_status")
    private Integer payStatus;

    /**
     * 
     */
    @TableField(value = "paytype")
    private String paytype;

    /**
     * 支付时间
     */
    @TableField(value = "paytime")
    private Integer paytime;

    /**
     * 地址
     */
    @TableField(value = "address_id")
    private Integer addressId;

    /**
     * 预约开始时间
     */
    @TableField(value = "starttime")
    private Integer starttime;

    /**
     * 预约结束时间
     */
    @TableField(value = "endtime")
    private Integer endtime;

    /**
     * 门店id
     */
    @TableField(value = "store_id")
    private Integer storeId;

    /**
     * 创建时间
     */
    @TableField(value = "createtime")
    private Integer createtime;

    /**
     * 总积分
     */
    @TableField(value = "score")
    private BigDecimal score;

    /**
     * 实际回收积分
     */
    @TableField(value = "real_score")
    private BigDecimal realScore;

    /**
     * 拒绝原因
     */
    @TableField(value = "reason")
    private String reason;

    /**
     * 
     */
    @TableField(value = "ids")
    private String ids;

    /**
     * 认证id
     */
    @TableField(value = "certified_id")
    private Integer certifiedId;

    /**
     * 是否删除
     */
    @TableField(value = "is_delete")
    private Integer isDelete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


}